//package com.ruoyi.comparison.utils;
//
//import java.io.IOException;
//import java.util.ArrayList;
//
//public class DocxToPDF {
//    public static void doc2pdf(String source,String targetDir){
//        String cmd="libreoffice7.5 --convert-to pdf:writer_pdf_Export "+source+" --outdir "+targetDir;
//
//        String[] strings = partitionCommandLine(cmd);
//        Process process=null;
//        try {
//            ProcessBuilder hiveProcessBuilder = new ProcessBuilder(strings);
//            process = hiveProcessBuilder.start();
//            process.waitFor();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } catch (InterruptedException e) {
//            throw new RuntimeException(e);
//        } finally {
//            if (process != null) {
//                process.destroy();
//            }
//        }
//    }
//
////    public static void main(String[] args) {
////        doc2pdf("D:\\dev\\RuoYi-Vue-Plus\\ruoyi-admin\\src\\main\\resources\\qqqq.docx", "D:\\dev\\RuoYi-Vue-Plus\\ruoyi-admin\\src\\main\\resources\\");
////    }
////    public boolean run_command(final String[] command, final File work_path) throws IOException {
////        List<String> result_list = new ArrayList<>();
////
////        ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);
////
////        hiveProcessBuilder.directory(work_path);
////
////        hiveProcessBuilder.redirectErrorStream(true);
////
////        Process hiveProcess = hiveProcessBuilder.start();
////
////        return true;
////    }
//
//    /**
//
//     *对命令进行处理
//
//     */
//
//    public static String[] partitionCommandLine(final String command) {
//
//        final ArrayList<String> commands = new ArrayList<>();
//
//        int index = 0;
//
//        StringBuffer buffer = new StringBuffer(command.length());
//
//        boolean isApos = false;
//
//        boolean isQuote = false;
//
//        while (index < command.length()) {
//
//            final char c = command.charAt(index);
//
//            switch (c) {
//
//                case ' ':
//
//                    if (!isQuote && !isApos) {
//
//                        final String arg = buffer.toString();
//
//                        buffer = new StringBuffer(command.length() - index);
//
//                        if (arg.length() > 0) {
//
//                            commands.add(arg);
//
//                        }
//
//                    } else {
//
//                        buffer.append(c);
//
//                    }
//
//                    break;
//
//                case '\'':
//
//                    if (!isQuote) {
//
//                        isApos = !isApos;
//
//                    } else {
//
//                        buffer.append(c);
//
//                    }
//
//                    break;
//
//                case '"':
//
//                    if (!isApos) {
//
//                        isQuote = !isQuote;
//
//                    } else {
//
//                        buffer.append(c);
//
//                    }
//
//                    break;
//
//                default:
//
//                    buffer.append(c);
//
//            }
//
//            index++;
//
//        }
//
//        if (buffer.length() > 0) {
//
//            final String arg = buffer.toString();
//
//            commands.add(arg);
//
//        }
//        String[] strings = {"/bin/sh", "-c", String.valueOf(commands)};
//        return strings;
//    }
//}
